package com.tfjybj.itoo.exam.provider.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tfjybj.itoo.exam.entity.TemplateDetailsEntity;
import com.tfjybj.itoo.exam.model.QuestionTypeClassifyModel;
import com.tfjybj.itoo.exam.model.TemplateDetailsModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * TemplateDetailsDao接口
 * templateDetails表
 *
 * @author 任晓帅
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
@Repository("templateDetailsDao")
public interface TemplateDetailsDao extends BaseMapper<TemplateDetailsEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据模板id模糊查询templateDetails
     *
     * @param templateId  模板id
     * @return 模糊查询的templateDetails集合
     * @author 任晓帅
     * @since 2.0.0 2018-11-15 19:40:28
     */
    List<TemplateDetailsEntity> queryLikeTemplateId(@Param("templateId") String templateId);


    //endregion

    /* **********************************以下为非模板生成的内容********************************* */
    /**
     * 根据templateId查询集合
     *@author 邓立瑶
     * @param templateId
     * @return
     */
    List<TemplateDetailsModel> seltempl(String templateId);


    /**
     * 根据题型id和课程id查询改课程下包含该类题型的试题分类-杨晓慧--2018年12月11日19:07:14
     * @param questionTypeId 题型id（单选题，多选题的id）
     * @param courseId 课程id
     * @return 该课程下所有包含该题型的试题分类（所在章节，自定义章节等）
     */
    List<QuestionTypeClassifyModel> getQuestionClassify(@Param("questionTypeId") String questionTypeId, @Param("courseId") String courseId, @Param("operator") String operator);


    /**
     * 组织试题分类的树形结构--杨晓慧--2018-12-11 19:29:54
     * @param questionClassifyIds 试题分类集和
     * @param courseId 课程id
     * @return 试题分类list
     */
    List<QuestionTypeClassifyModel> getQuestionClassifyTree(@Param("questionClassifyIds") List<String> questionClassifyIds, @Param("courseId") String courseId);

    List<String> getByTemplateId(@Param("id") String id);
}
